#ifndef __BSP_RELAY_H
#define __BSP_RELAY_H

#include "stm32f10x.h"

#define RELAY1_GPIO_PORT    	GPIOA			              /* GPIO端口 */
#define RELAY1_GPIO_CLK 	    RCC_APB2Periph_GPIOA		/* GPIO端口时钟 */
#define RELAY1_GPIO_PIN			GPIO_Pin_4			        /* 连接到SCL时钟线的GPIO */

/* 继电器控制宏定义 */
#define RELAY1_ON()     GPIO_SetBits(RELAY1_GPIO_PORT, RELAY1_GPIO_PIN)
#define RELAY1_OFF()    GPIO_ResetBits(RELAY1_GPIO_PORT, RELAY1_GPIO_PIN)
#define RELAY1_TOGGLE() GPIO_WriteBit(RELAY1_GPIO_PORT, RELAY1_GPIO_PIN, \
                        (BitAction)(1 - GPIO_ReadOutputDataBit(RELAY1_GPIO_PORT, RELAY1_GPIO_PIN)))

void RELAY_GPIO_Config(void);
void RELAY1_Control(uint8_t state);
uint8_t RELAY1_GetState(void);

#endif
